
const NFs = require('./NFs.js');
const Tools = require('./utils/Tools.js');


// readData();

// // 读取数据
// async function readData () {
//   let aDir = await NFs.readDir(__dirname + '\\database\\data\\');
//   // aDir.length
//   for (let i = 0; i < 1; i++) {
//     let path = aDir[i];
//     let data = await NFs.readFile(path);
//   }
// }

createIndex();

// 生成文件索引
async function createIndex () {
  // 1. 判断database中是否有index索引文件夹，如果无则创建
  let indexPath = __dirname + '\\database\\index';
  await NFs.mkDir(indexPath);

  // 1. 获取data中的文件列表
  let aFile = await NFs.readDir(__dirname + '\\database\\data\\');

  // 2. 通过列表
  for (let i = 0; i < aFile.length; i++) {
    let filePath = aFile[i];
    // 3. 获取单个文件的详情
    let fileData = await NFs.readFile(filePath);
    // 4. 截取需要的数据生成对象
    fileData = JSON.parse(fileData);
    fileData = {
      c: fileData.cid,
      l: Number(Tools.switchTime(fileData.lastUpdateTime, 'timestamp')),
      s: fileData.starCount,
      v: fileData.viewCount,
      b: fileData.builtinTags,
      t: fileData.title
    }
    // 5. 获取当前数据的年，并创建文件夹
    let year = Tools.switchTime(fileData.l, 'yyyy');
    let yearFile = indexPath + '\\' + year + '.txt';
    if (!NFs.exists(yearFile)) {
      await NFs.writeFile(yearFile);
    }
    // 6. 添加数据到文件中
    await NFs.appendFile(yearFile, JSON.stringify(fileData) + '\n');
  }
}

